ModuleInfo "Name: simpenewt: ein einfache Physik Erweiterung f r simpleirr"
ModuleInfo "Description: ein API fuer die Irrlicht Engine, basierend auf dem Irrlicht-Wrapper von gman"
ModuleInfo "License: Public Domain"
ModuleInfo "Authors: gman, _Jen, Wave (Delta), CoderLaureate (THashtable), Yan (Bit functions), eax for SViewFrustum::classifyBoxRelation(), bruZard (simpleIrr), klepto2 (simplenewt)"
ModuleInfo "CustomAttr: "
import brl.blitz
import sedm.simpleirr
InitNewton%()="sedm_simplenewt_InitNewton"
NewtonCreate@*(NewtonAllocMemory@*(sizeInBytes%),NewtonFreeMemory%(_ptr@*,sizeInBytes%))&=mem:p("sedm_simplenewt_NewtonCreate")
NewtonDestroy%(newtonWorld@*)&=mem:p("sedm_simplenewt_NewtonDestroy")
NewtonDestroyAllBodies%(newtonWorld@*)&=mem:p("sedm_simplenewt_NewtonDestroyAllBodies")
NewtonGetMemoryUsed%()&=mem:p("sedm_simplenewt_NewtonGetMemoryUsed")
NewtonUpdate%(newtonWorld@*,timestep#)&=mem:p("sedm_simplenewt_NewtonUpdate")
NewtonInvalidateCache%(newtonWorld@*)&=mem:p("sedm_simplenewt_NewtonInvalidateCache")
NewtonCollisionUpdate%(newtonWorld@*)&=mem:p("sedm_simplenewt_NewtonCollisionUpdate")
NewtonSetSolverModel%(newtonWorld@*,model%)&=mem:p("sedm_simplenewt_NewtonSetSolverModel")
NewtonSetPlatformArchitecture%(newtonWorld@*,mode%)&=mem:p("sedm_simplenewt_NewtonSetPlatformArchitecture")
NewtonGetPlatformArchitecture%(newtonWorld@*,description@*)&=mem:p("sedm_simplenewt_NewtonGetPlatformArchitecture")
NewtonSetMultiThreadSolverOnSingleIsland%(newtonWorld@*,mode%)&=mem:p("sedm_simplenewt_NewtonSetMultiThreadSolverOnSingleIsland")
NewtonSetPerformanceClock%(newtonWorld@*,NewtonGetTicksCountCallback%())&=mem:p("sedm_simplenewt_NewtonSetPerformanceClock")
NewtonReadPerformanceTicks%(newtonWorld@*,thread%,performanceEntry%)&=mem:p("sedm_simplenewt_NewtonReadPerformanceTicks")
NewtonWorldCriticalSectionLock%(newtonWorld@*)&=mem:p("sedm_simplenewt_NewtonWorldCriticalSectionLock")
NewtonWorldCriticalSectionUnlock%(newtonWorld@*)&=mem:p("sedm_simplenewt_NewtonWorldCriticalSectionUnlock")
NewtonSetThreadsCount%(newtonWorld@*,threads%)&=mem:p("sedm_simplenewt_NewtonSetThreadsCount")
NewtonGetThreadsCount%(newtonWorld@*)&=mem:p("sedm_simplenewt_NewtonGetThreadsCount")
NewtonSetFrictionModel%(newtonWorld@*,model%)&=mem:p("sedm_simplenewt_NewtonSetFrictionModel")
NewtonSetMinimumFrameRate%(newtonWorld@*,frameRate#)&=mem:p("sedm_simplenewt_NewtonSetMinimumFrameRate")
NewtonSetBodyLeaveWorldEvent%(newtonWorld@*,NewtonBodyLeaveWorld%(body@*,threadIndex%))&=mem:p("sedm_simplenewt_NewtonSetBodyLeaveWorldEvent")
NewtonSetWorldSize%(newtonWorld@*,minPoint#*,maxPoint#*)&=mem:p("sedm_simplenewt_NewtonSetWorldSize")
NewtonSetIslandUpdateEvent%(newtonWorld@*,NewtonIslandUpdate%(islandHandle@*,bodyCount%))&=mem:p("sedm_simplenewt_NewtonSetIslandUpdateEvent")
NewtonWorldForEachJointDo%(newtonWorld@*,NewtonJointIterator%(joint@*))&=mem:p("sedm_simplenewt_NewtonWorldForEachJointDo")
NewtonWorldForEachBodyInAABBDo%(newtonWorld@*,p0#*,p1#*,NewtonBodyIterator%(body@*))&=mem:p("sedm_simplenewt_NewtonWorldForEachBodyInAABBDo")
NewtonWorldSetUserData%(newtonWorld@*,userData@*)&=mem:p("sedm_simplenewt_NewtonWorldSetUserData")
NewtonWorldGetUserData@*(newtonWorld@*)&=mem:p("sedm_simplenewt_NewtonWorldGetUserData")
NewtonWorldGetVersion%(newtonWorld@*)&=mem:p("sedm_simplenewt_NewtonWorldGetVersion")
NewtonWorldRayCast%(newtonWorld@*,p0#*,p1#*,NewtonWorldRayFilterCallback#(body@*,hitNormal#*,collisionID%,userData@*,intersectParam#),userData@*,NewtonWorldRayPrefilterCallback%(body@*,collision@*,userData@*))&=mem:p("sedm_simplenewt_NewtonWorldRayCast")
NewtonWorldConvexCast%(newtonWorld@*,matrix#*,target#*,shape@*,hitParam#*,userData@*,NewtonWorldRayPrefilterCallback%(body@*,collision@*,userData@*),info@*,maxContactsCount%)&=mem:p("sedm_simplenewt_NewtonWorldConvexCast")
NewtonGetBodyCount%(newtonWorld@*)&=mem:p("sedm_simplenewt_NewtonGetBodyCount")
NewtonIslandGetBody@*(island@*,bodyIndex%)&=mem:p("sedm_simplenewt_NewtonIslandGetBody")
NewtonIslandGetBodyAABB%(island@*,bodyIndex%,p0#*,p1#*)&=mem:p("sedm_simplenewt_NewtonIslandGetBodyAABB")
NewtonMaterialCreateGroupID%(newtonWorld@*)&=mem:p("sedm_simplenewt_NewtonMaterialCreateGroupID")
NewtonMaterialGetDefaultGroupID%(newtonWorld@*)&=mem:p("sedm_simplenewt_NewtonMaterialGetDefaultGroupID")
NewtonMaterialDestroyAllGroupID%(newtonWorld@*)&=mem:p("sedm_simplenewt_NewtonMaterialDestroyAllGroupID")
NewtonMaterialGetUserData@*(newtonWorld@*,id0%,id1%)&=mem:p("sedm_simplenewt_NewtonMaterialGetUserData")
NewtonMaterialSetSurfaceThickness%(newtonWorld@*,id0%,id1%,thickness#)&=mem:p("sedm_simplenewt_NewtonMaterialSetSurfaceThickness")
NewtonMaterialSetContinuousCollisionMode%(newtonWorld@*,id0%,id1%,state%)&=mem:p("sedm_simplenewt_NewtonMaterialSetContinuousCollisionMode")
NewtonMaterialSetCollisionCallback%(newtonWorld@*,id0%,id1%,userData@*,NewtonOnAABBOverlap%(material@*,body0@*,body1@*,threadIndex%),NewtonContactProcess%(contact@*,timestep#,threadIndex%))&=mem:p("sedm_simplenewt_NewtonMaterialSetCollisionCallback")
NewtonMaterialSetDefaultSoftness%(newtonWorld@*,id0%,id1%,value#)&=mem:p("sedm_simplenewt_NewtonMaterialSetDefaultSoftness")
NewtonMaterialSetDefaultElasticity%(newtonWorld@*,id0%,id1%,elasticCoef#)&=mem:p("sedm_simplenewt_NewtonMaterialSetDefaultElasticity")
NewtonMaterialSetDefaultCollidable%(newtonWorld@*,id0%,id1%,state%)&=mem:p("sedm_simplenewt_NewtonMaterialSetDefaultCollidable")
NewtonMaterialSetDefaultFriction%(newtonWorld@*,id0%,id1%,staticFriction#,kineticFriction#)&=mem:p("sedm_simplenewt_NewtonMaterialSetDefaultFriction")
NewtonWorldGetFirstMaterial@*(world@*)&=mem:p("sedm_simplenewt_NewtonWorldGetFirstMaterial")
NewtonWorldGetNextMaterial@*(world@*,material@*)&=mem:p("sedm_simplenewt_NewtonWorldGetNextMaterial")
NewtonWorldGetFirstBody@*(world@*)&=mem:p("sedm_simplenewt_NewtonWorldGetFirstBody")
NewtonWorldGetNextBody@*(world@*,curBody@*)&=mem:p("sedm_simplenewt_NewtonWorldGetNextBody")
NewtonMaterialGetMaterialPairUserData@*(material@*)&=mem:p("sedm_simplenewt_NewtonMaterialGetMaterialPairUserData")
NewtonMaterialGetContactFaceAttribute%(material@*)&=mem:p("sedm_simplenewt_NewtonMaterialGetContactFaceAttribute")
NewtonMaterialGetBodyCollisionID%(material@*,body@*)&=mem:p("sedm_simplenewt_NewtonMaterialGetBodyCollisionID")
NewtonMaterialGetContactNormalSpeed#(material@*)&=mem:p("sedm_simplenewt_NewtonMaterialGetContactNormalSpeed")
NewtonMaterialGetContactForce%(material@*,force#*)&=mem:p("sedm_simplenewt_NewtonMaterialGetContactForce")
NewtonMaterialGetContactPositionAndNormal%(material@*,posit#*,normal#*)&=mem:p("sedm_simplenewt_NewtonMaterialGetContactPositionAndNormal")
NewtonMaterialGetContactTangentDirections%(material@*,dir0#*,dir1#*)&=mem:p("sedm_simplenewt_NewtonMaterialGetContactTangentDirections")
NewtonMaterialGetContactTangentSpeed#(material@*,index%)&=mem:p("sedm_simplenewt_NewtonMaterialGetContactTangentSpeed")
NewtonMaterialSetContactSoftness%(material@*,softness#)&=mem:p("sedm_simplenewt_NewtonMaterialSetContactSoftness")
NewtonMaterialSetContactElasticity%(material@*,restitution#)&=mem:p("sedm_simplenewt_NewtonMaterialSetContactElasticity")
NewtonMaterialSetContactFrictionState%(material@*,state%,index%)&=mem:p("sedm_simplenewt_NewtonMaterialSetContactFrictionState")
NewtonMaterialSetContactFrictionCoef%(material@*,staticFrictionCoef#,kineticFrictionCoef#,index%)&=mem:p("sedm_simplenewt_NewtonMaterialSetContactFrictionCoef")
NewtonMaterialSetContactNormalAcceleration%(material@*,accel#)&=mem:p("sedm_simplenewt_NewtonMaterialSetContactNormalAcceleration")
NewtonMaterialSetContactNormalDirection%(material@*,directionVector#*)&=mem:p("sedm_simplenewt_NewtonMaterialSetContactNormalDirection")
NewtonMaterialSetContactTangentAcceleration%(material@*,accel#,index%)&=mem:p("sedm_simplenewt_NewtonMaterialSetContactTangentAcceleration")
NewtonMaterialContactRotateTangentDirections%(material@*,directionVector#*)&=mem:p("sedm_simplenewt_NewtonMaterialContactRotateTangentDirections")
NewtonCreateNull@*(newtonWorld@*)&=mem:p("sedm_simplenewt_NewtonCreateNull")
NewtonCreateSphere@*(newtonWorld@*,radiusX#,radiusY#,radiusZ#,offsetMatrix@*)&=mem:p("sedm_simplenewt_NewtonCreateSphere")
NewtonCreateBox@*(newtonWorld@*,dx#,dy#,dz#,offsetMatrix@*)&=mem:p("sedm_simplenewt_NewtonCreateBox")
NewtonCreateCone@*(newtonWorld@*,radius#,height#,offsetMatrix@*)&=mem:p("sedm_simplenewt_NewtonCreateCone")
NewtonCreateCapsule@*(newtonWorld@*,radius#,height#,offsetMatrix@*)&=mem:p("sedm_simplenewt_NewtonCreateCapsule")
NewtonCreateCylinder@*(newtonWorld@*,radius#,height#,offsetMatrix@*)&=mem:p("sedm_simplenewt_NewtonCreateCylinder")
NewtonCreateChamferCylinder@*(newtonWorld@*,radius#,height#,offsetMatrix@*)&=mem:p("sedm_simplenewt_NewtonCreateChamferCylinder")
NewtonCreateConvexHull@*(newtonWorld@*,count%,vertexCloud#*,strideInBytes%,tolerance#,offsetMatrix@*)&=mem:p("sedm_simplenewt_NewtonCreateConvexHull")
NewtonCreateConvexHullFromMesh@*(newtonWorld@*,mesh@*,tolerance#)&=mem:p("sedm_simplenewt_NewtonCreateConvexHullFromMesh")
NewtonCreateConvexHullModifier@*(newtonWorld@*,convexHullCollision@*)&=mem:p("sedm_simplenewt_NewtonCreateConvexHullModifier")
NewtonConvexHullModifierGetMatrix%(convexHullCollision@*,matrix#*)&=mem:p("sedm_simplenewt_NewtonConvexHullModifierGetMatrix")
NewtonConvexHullModifierSetMatrix%(convexHullCollision@*,matrix#*)&=mem:p("sedm_simplenewt_NewtonConvexHullModifierSetMatrix")
NewtonCollisionIsTriggerVolume%(convexCollision@*)&=mem:p("sedm_simplenewt_NewtonCollisionIsTriggerVolume")
NewtonCollisionSetAsTriggerVolume%(convexCollision@*,trigger%)&=mem:p("sedm_simplenewt_NewtonCollisionSetAsTriggerVolume")
NewtonConvexCollisionSetUserID%(convexCollision@*,id%)&=mem:p("sedm_simplenewt_NewtonConvexCollisionSetUserID")
NewtonConvexCollisionGetUserID%(convexCollision@*)&=mem:p("sedm_simplenewt_NewtonConvexCollisionGetUserID")
NewtonConvexCollisionCalculateVolume#(convexCollision@*)&=mem:p("sedm_simplenewt_NewtonConvexCollisionCalculateVolume")
NewtonConvexCollisionCalculateInertialMatrix%(convexCollision@*,inertia#*,origin#*)&=mem:p("sedm_simplenewt_NewtonConvexCollisionCalculateInertialMatrix")
NewtonCollisionMakeUnique%(newtonWorld@*,collision@*)&=mem:p("sedm_simplenewt_NewtonCollisionMakeUnique")
NewtonReleaseCollision%(newtonWorld@*,collision@*)&=mem:p("sedm_simplenewt_NewtonReleaseCollision")
NewtonAddCollisionReference%(collision@*)&=mem:p("sedm_simplenewt_NewtonAddCollisionReference")
NewtonCreateCompoundCollision@*(newtonWorld@*,count%,collisionPrimitiveArray@*)&=mem:p("sedm_simplenewt_NewtonCreateCompoundCollision")
NewtonCreateCompoundCollisionFromMesh@*(newtonWorld@*,mesh@*,concavity#,maxShapeCount%)&=mem:p("sedm_simplenewt_NewtonCreateCompoundCollisionFromMesh")
NewtonCreateUserMeshCollision@*(newtonWorld@*,minBox@*,maxBox@*,userData@*,NewtonUserMeshCollisionCollideCallback%(collideDescData@*),NewtonUserMeshCollisionRayHitCallback#(lineDescData@*),NewtonUserMeshCollisionDestroyCallback%(userData@*),NewtonUserMeshCollisionGetCollisionInfo%(userData@*,infoRecord@*),NewtonUserMeshCollisionGetFacesInAABB%(userData@*,p0#*,p1#*,vertexArray@*,vertexCount@*,vertexStrideInBytes@*,indexList@*,maxIndexCount%,userDataList@*))&=mem:p("sedm_simplenewt_NewtonCreateUserMeshCollision")
NewtonCreateSceneCollision@*(newtonWorld@*,size#)&=mem:p("sedm_simplenewt_NewtonCreateSceneCollision")
NewtonSceneCollisionCreateProxy@*(scene@*,collision@*)&=mem:p("sedm_simplenewt_NewtonSceneCollisionCreateProxy")
NewtonSceneCollisionDestroyProxy%(scene@*,Proxy@*)&=mem:p("sedm_simplenewt_NewtonSceneCollisionDestroyProxy")
NewtonSceneProxySetMatrix%(proxy@*,matrix#*)&=mem:p("sedm_simplenewt_NewtonSceneProxySetMatrix")
NewtonSceneProxyGetMatrix%(proxy@*,matrix#*)&=mem:p("sedm_simplenewt_NewtonSceneProxyGetMatrix")
NewtonCreateCollisionFromSerialization@*(newtonWorld@*,NewtonDeserialize%(serializeHandle@*,buffer@*,size%),serializeHandle@*)&=mem:p("sedm_simplenewt_NewtonCreateCollisionFromSerialization")
NewtonCollisionSerialize%(collision@*,NewtonSerialize%(serializeHandle@*,buffer@*,size%),serializeHandle@*)&=mem:p("sedm_simplenewt_NewtonCollisionSerialize")
NewtonCollisionGetInfo%(collision@*,collisionInfo@*)&=mem:p("sedm_simplenewt_NewtonCollisionGetInfo")
NewtonCreateHeightFieldCollision@*(newtonWorld@*,width%,height%,gridsDiagonals%,elevationMap@*,attributeMap@*,horizontalScale#,verticalScale#)&=mem:p("sedm_simplenewt_NewtonCreateHeightFieldCollision")
NewtonCreateTreeCollision@*(newtonWorld@*)&=mem:p("sedm_simplenewt_NewtonCreateTreeCollision")
NewtonTreeCollisionSetUserRayCastCallback%(treeCollision@*,NewtonCollisionTreeRayCastCallback#(interception#,normal#*,faceId%,usedData@*))&=mem:p("sedm_simplenewt_NewtonTreeCollisionSetUserRayCastCallback")
NewtonTreeCollisionBeginBuild%(treeCollision@*)&=mem:p("sedm_simplenewt_NewtonTreeCollisionBeginBuild")
NewtonTreeCollisionAddFace%(treeCollision@*,vertexCount%,vertexPtr#*,strideInBytes%,faceAttribute%)&=mem:p("sedm_simplenewt_NewtonTreeCollisionAddFace")
NewtonTreeCollisionEndBuild%(treeCollision@*,optimize%)&=mem:p("sedm_simplenewt_NewtonTreeCollisionEndBuild")
NewtonTreeCollisionGetFaceAtribute%(treeCollision@*,faceIndexArray@*)&=mem:p("sedm_simplenewt_NewtonTreeCollisionGetFaceAtribute")
NewtonTreeCollisionSetFaceAtribute%(treeCollision@*,faceIndexArray@*,attribute%)&=mem:p("sedm_simplenewt_NewtonTreeCollisionSetFaceAtribute")
NewtonTreeCollisionGetVertexListIndexListInAABB%(treeCollision@*,p0#*,p1#*,vertexArray@*,vertexCount@*,vertexStrideInBytes@*,indexList@*,maxIndexCount%,faceAttribute@*)&=mem:p("sedm_simplenewt_NewtonTreeCollisionGetVertexListIndexListInAABB")
NewtonStaticCollisionSetDebugCallback%(staticCollision@*,NewtonTreeCollisionCallback%(bodyWithTreeCollision@*,body@*,faceID%,vertexCount%,vertex#*,vertexStrideInBytes%))&=mem:p("sedm_simplenewt_NewtonStaticCollisionSetDebugCallback")
NewtonCollisionPointDistance%(newtonWorld@*,point@*,collision@*,matrix#*,contact#*,normal#*)&=mem:p("sedm_simplenewt_NewtonCollisionPointDistance")
NewtonCollisionClosestPoint%(newtonWorld@*,collisionA@*,matrixA#*,collisionB@*,matrixB#*,contactA#*,contactB#*,normalAB#*)&=mem:p("sedm_simplenewt_NewtonCollisionClosestPoint")
NewtonCollisionCollide%(newtonWorld@*,maxSize%,collisionA@*,matrixA#*,collisionB@*,matrixB#*,contacts#*,normals#*,penetration#*)&=mem:p("sedm_simplenewt_NewtonCollisionCollide")
NewtonCollisionCollideContinue%(newtonWorld@*,maxSize%,timestep@*,collisionA@*,matrixA#*,velocA#*,omegaA#*,collisionB@*,matrixB#*,velocB#*,omegaB#*,timeOfImpact#*,contacts#*,normals#*,penetration#*)&=mem:p("sedm_simplenewt_NewtonCollisionCollideContinue")
NewtonCollisionSupportVertex%(collision@*,dir#*,vertex#*)&=mem:p("sedm_simplenewt_NewtonCollisionSupportVertex")
NewtonCollisionRayCast#(collision@*,p0#*,p1#*,normals#*,attribute@*)&=mem:p("sedm_simplenewt_NewtonCollisionRayCast")
NewtonCollisionCalculateAABB%(collision@*,matrix@*,p0#*,p1#*)&=mem:p("sedm_simplenewt_NewtonCollisionCalculateAABB")
NewtonCollisionForEachPolygonDo%(collision@*,matrix#*,NewtonCollisionIterator%(userData@*,vertexCount%,faceArray#*,faceId%),useData@*)&=mem:p("sedm_simplenewt_NewtonCollisionForEachPolygonDo")
NewtonGetEulerAngle%(matrix#*,eulersAngles#*)&=mem:p("sedm_simplenewt_NewtonGetEulerAngle")
NewtonSetEulerAngle%(eulersAngles#*,matrix#*)&=mem:p("sedm_simplenewt_NewtonSetEulerAngle")
NewtonCalculateSpringDamperAcceleration#(dt#,ks#,x#,kd#,s#)&=mem:p("sedm_simplenewt_NewtonCalculateSpringDamperAcceleration")
NewtonCreateBody@*(newtonWorld@*,collision@*)&=mem:p("sedm_simplenewt_NewtonCreateBody")
NewtonDestroyBody%(newtonWorld@*,body@*)&=mem:p("sedm_simplenewt_NewtonDestroyBody")
NewtonBodyAddForce%(body@*,force#*)&=mem:p("sedm_simplenewt_NewtonBodyAddForce")
NewtonBodyAddTorque%(body@*,torque#*)&=mem:p("sedm_simplenewt_NewtonBodyAddTorque")
NewtonBodyCalculateInverseDynamicsForce%(body@*,timestep#,desiredVeloc#*,forceOut#*)&=mem:p("sedm_simplenewt_NewtonBodyCalculateInverseDynamicsForce")
NewtonBodySetMatrix%(body@*,matrix#*)&=mem:p("sedm_simplenewt_NewtonBodySetMatrix")
NewtonBodySetMatrixRecursive%(body@*,matrix#*)&=mem:p("sedm_simplenewt_NewtonBodySetMatrixRecursive")
NewtonBodySetMassMatrix%(body@*,mass#,Ixx#,Iyy#,Izz#)&=mem:p("sedm_simplenewt_NewtonBodySetMassMatrix")
NewtonBodySetMaterialGroupID%(body@*,id%)&=mem:p("sedm_simplenewt_NewtonBodySetMaterialGroupID")
NewtonBodySetContinuousCollisionMode%(body@*,state%)&=mem:p("sedm_simplenewt_NewtonBodySetContinuousCollisionMode")
NewtonBodySetJointRecursiveCollision%(body@*,state%)&=mem:p("sedm_simplenewt_NewtonBodySetJointRecursiveCollision")
NewtonBodySetOmega%(body@*,omega#*)&=mem:p("sedm_simplenewt_NewtonBodySetOmega")
NewtonBodySetVelocity%(body@*,velocity#*)&=mem:p("sedm_simplenewt_NewtonBodySetVelocity")
NewtonBodySetForce%(body@*,force#*)&=mem:p("sedm_simplenewt_NewtonBodySetForce")
NewtonBodySetTorque%(body@*,torque#*)&=mem:p("sedm_simplenewt_NewtonBodySetTorque")
NewtonBodySetCentreOfMass%(body@*,com#*)&=mem:p("sedm_simplenewt_NewtonBodySetCentreOfMass")
NewtonBodySetLinearDamping%(body@*,linearDamp#)&=mem:p("sedm_simplenewt_NewtonBodySetLinearDamping")
NewtonBodySetAngularDamping%(body@*,angularDamp#*)&=mem:p("sedm_simplenewt_NewtonBodySetAngularDamping")
NewtonBodySetUserData%(body@*,userData:Object)&=mem:p("sedm_simplenewt_NewtonBodySetUserData")
NewtonBodySetCollision%(body@*,collision@*)&=mem:p("sedm_simplenewt_NewtonBodySetCollision")
NewtonBodyGetSleepState%(body@*)&=mem:p("sedm_simplenewt_NewtonBodyGetSleepState")
NewtonBodyGetAutoSleep%(body@*)&=mem:p("sedm_simplenewt_NewtonBodyGetAutoSleep")
NewtonBodySetAutoSleep%(body@*,state%)&=mem:p("sedm_simplenewt_NewtonBodySetAutoSleep")
NewtonBodyGetFreezeState%(body@*)&=mem:p("sedm_simplenewt_NewtonBodyGetFreezeState")
NewtonBodySetFreezeState%(body@*,state%)&=mem:p("sedm_simplenewt_NewtonBodySetFreezeState")
NewtonBodySetTransformCallback%(body@*,NewtonSetTransform%(body@*,matrix#*,threadIndex%))&=mem:p("sedm_simplenewt_NewtonBodySetTransformCallback")
NewtonBodySetDestructorCallback%(body@*,NewtonBodyDestructor%(body@*))&=mem:p("sedm_simplenewt_NewtonBodySetDestructorCallback")
NewtonBodySetForceAndTorqueCallback%(body@*,NewtonApplyForceAndTorque%(body@*,timestep#,threadIndex%))&=mem:p("sedm_simplenewt_NewtonBodySetForceAndTorqueCallback")
NewtonBodyGetForceAndTorqueCallback@*(body@*)&=mem:p("sedm_simplenewt_NewtonBodyGetForceAndTorqueCallback")
NewtonBodyGetUserData:Object(body@*)&=mem:p("sedm_simplenewt_NewtonBodyGetUserData")
NewtonBodyGetWorld@*(body@*)&=mem:p("sedm_simplenewt_NewtonBodyGetWorld")
NewtonBodyGetCollision@*(body@*)&=mem:p("sedm_simplenewt_NewtonBodyGetCollision")
NewtonBodyGetMaterialGroupID%(body@*)&=mem:p("sedm_simplenewt_NewtonBodyGetMaterialGroupID")
NewtonBodyGetContinuousCollisionMode%(body@*)&=mem:p("sedm_simplenewt_NewtonBodyGetContinuousCollisionMode")
NewtonBodyGetJointRecursiveCollision%(body@*)&=mem:p("sedm_simplenewt_NewtonBodyGetJointRecursiveCollision")
NewtonBodyGetMatrix%(body@*,matrix#*)&=mem:p("sedm_simplenewt_NewtonBodyGetMatrix")
NewtonBodyGetRotation%(body@*,rotation#*)&=mem:p("sedm_simplenewt_NewtonBodyGetRotation")
NewtonBodyGetMassMatrix%(body@*,mass#*,Ixx#*,Iyy#*,Izz#*)&=mem:p("sedm_simplenewt_NewtonBodyGetMassMatrix")
NewtonBodyGetInvMass%(body@*,invMass#*,invIxx#*,invIyy#*,invIzz#*)&=mem:p("sedm_simplenewt_NewtonBodyGetInvMass")
NewtonBodyGetOmega%(body@*,vector#*)&=mem:p("sedm_simplenewt_NewtonBodyGetOmega")
NewtonBodyGetVelocity%(body@*,vector#*)&=mem:p("sedm_simplenewt_NewtonBodyGetVelocity")
NewtonBodyGetForce%(body@*,vector#*)&=mem:p("sedm_simplenewt_NewtonBodyGetForce")
NewtonBodyGetTorque%(body@*,vector#*)&=mem:p("sedm_simplenewt_NewtonBodyGetTorque")
NewtonBodyGetForceAcc%(body@*,vector#*)&=mem:p("sedm_simplenewt_NewtonBodyGetForceAcc")
NewtonBodyGetTorqueAcc%(body@*,vector#*)&=mem:p("sedm_simplenewt_NewtonBodyGetTorqueAcc")
NewtonBodyGetCentreOfMass%(body@*,com#*)&=mem:p("sedm_simplenewt_NewtonBodyGetCentreOfMass")
NewtonBodyGetLinearDamping#(body@*)&=mem:p("sedm_simplenewt_NewtonBodyGetLinearDamping")
NewtonBodyGetAngularDamping%(body@*,vector#*)&=mem:p("sedm_simplenewt_NewtonBodyGetAngularDamping")
NewtonBodyGetAABB%(body@*,p0#*,p1#*)&=mem:p("sedm_simplenewt_NewtonBodyGetAABB")
NewtonBodyGetFirstJoint@*(body@*)&=mem:p("sedm_simplenewt_NewtonBodyGetFirstJoint")
NewtonBodyGetNextJoint@*(body@*,joint@*)&=mem:p("sedm_simplenewt_NewtonBodyGetNextJoint")
NewtonBodyGetFirstContactJoint@*(body@*)&=mem:p("sedm_simplenewt_NewtonBodyGetFirstContactJoint")
NewtonBodyGetNextContactJoint@*(body@*,contactJoint@*)&=mem:p("sedm_simplenewt_NewtonBodyGetNextContactJoint")
NewtonContactJointGetFirstContact@*(contactJoint@*)&=mem:p("sedm_simplenewt_NewtonContactJointGetFirstContact")
NewtonContactJointGetNextContact@*(contactJoint@*,contact@*)&=mem:p("sedm_simplenewt_NewtonContactJointGetNextContact")
NewtonContactJointGetContactCount%(contactJoint@*)&=mem:p("sedm_simplenewt_NewtonContactJointGetContactCount")
NewtonContactJointRemoveContact%(contactJoint@*,contact@*)&=mem:p("sedm_simplenewt_NewtonContactJointRemoveContact")
NewtonContactGetMaterial@*(contact@*)&=mem:p("sedm_simplenewt_NewtonContactGetMaterial")
NewtonBodyAddBuoyancyForce%(body@*,fluidDensity#,fluidLinearViscosity#,fluidAngularViscosity#,gravityVector#*,NewtonGetBuoyancyPlane%(collisionID@*,context@*,globalSpaceMatrix#*,globalSpacePlane#*),context@*)&=mem:p("sedm_simplenewt_NewtonBodyAddBuoyancyForce")
NewtonBodyAddImpulse%(body@*,pointDeltaVeloc#*,pointPosit#*)&=mem:p("sedm_simplenewt_NewtonBodyAddImpulse")
NewtonJointGetUserData@*(joint@*)&=mem:p("sedm_simplenewt_NewtonJointGetUserData")
NewtonJointSetUserData%(joint@*,userData@*)&=mem:p("sedm_simplenewt_NewtonJointSetUserData")
NewtonJointGetBody0@*(joint@*)&=mem:p("sedm_simplenewt_NewtonJointGetBody0")
NewtonJointGetBody1@*(joint@*)&=mem:p("sedm_simplenewt_NewtonJointGetBody1")
NewtonJointGetInfo%(joint@*,info@*)&=mem:p("sedm_simplenewt_NewtonJointGetInfo")
NewtonJointGetCollisionState%(joint@*)&=mem:p("sedm_simplenewt_NewtonJointGetCollisionState")
NewtonJointSetCollisionState%(joint@*,state%)&=mem:p("sedm_simplenewt_NewtonJointSetCollisionState")
NewtonJointGetStiffness#(joint@*)&=mem:p("sedm_simplenewt_NewtonJointGetStiffness")
NewtonJointSetStiffness%(joint@*,state#)&=mem:p("sedm_simplenewt_NewtonJointSetStiffness")
NewtonDestroyJoint%(newtonWorld@*,joint@*)&=mem:p("sedm_simplenewt_NewtonDestroyJoint")
NewtonJointSetDestructor%(joint@*,NewtonConstraintDestructor%(me@*))&=mem:p("sedm_simplenewt_NewtonJointSetDestructor")
NewtonConstraintCreateBall@*(newtonWorld@*,pivotPoint#*,childBody@*,parentBody@*)&=mem:p("sedm_simplenewt_NewtonConstraintCreateBall")
NewtonBallSetUserCallback%(ball@*,NewtonBallCallBack%(ball@*,timestep#))&=mem:p("sedm_simplenewt_NewtonBallSetUserCallback")
NewtonBallGetJointAngle%(ball@*,angle#*)&=mem:p("sedm_simplenewt_NewtonBallGetJointAngle")
NewtonBallGetJointOmega%(ball@*,omega#*)&=mem:p("sedm_simplenewt_NewtonBallGetJointOmega")
NewtonBallGetJointForce%(ball@*,force#*)&=mem:p("sedm_simplenewt_NewtonBallGetJointForce")
NewtonBallSetConeLimits%(ball@*,pin#*,maxConeAngle#,maxTwistAngle#)&=mem:p("sedm_simplenewt_NewtonBallSetConeLimits")
NewtonConstraintCreateHinge@*(newtonWorld@*,pivotPoint#*,pinDir#*,childBody@*,parentBody@*)&=mem:p("sedm_simplenewt_NewtonConstraintCreateHinge")
NewtonHingeSetUserCallback%(hinge@*,NewtonHingeCallBack%(hinge@*,desc@*))&=mem:p("sedm_simplenewt_NewtonHingeSetUserCallback")
NewtonHingeGetJointAngle#(hinge@*)&=mem:p("sedm_simplenewt_NewtonHingeGetJointAngle")
NewtonHingeGetJointOmega#(hinge@*)&=mem:p("sedm_simplenewt_NewtonHingeGetJointOmega")
NewtonHingeGetJointForce%(hinge@*,force#*)&=mem:p("sedm_simplenewt_NewtonHingeGetJointForce")
NewtonHingeCalculateStopAlpha#(hinge@*,desc@*,angle#)&=mem:p("sedm_simplenewt_NewtonHingeCalculateStopAlpha")
NewtonConstraintCreateSlider@*(newtonWorld@*,pivotPoint#*,pinDir#*,childBody@*,parentBody@*)&=mem:p("sedm_simplenewt_NewtonConstraintCreateSlider")
NewtonSliderSetUserCallback%(slider@*,NewtonSliderCallBack%(slider@*,desc@*))&=mem:p("sedm_simplenewt_NewtonSliderSetUserCallback")
NewtonSliderGetJointPosit#(slider@*)&=mem:p("sedm_simplenewt_NewtonSliderGetJointPosit")
NewtonSliderGetJointVeloc#(slider@*)&=mem:p("sedm_simplenewt_NewtonSliderGetJointVeloc")
NewtonSliderGetJointForce%(slider@*,force#*)&=mem:p("sedm_simplenewt_NewtonSliderGetJointForce")
NewtonSliderCalculateStopAccel#(slider@*,desc@*,position#)&=mem:p("sedm_simplenewt_NewtonSliderCalculateStopAccel")
NewtonConstraintCreateCorkscrew@*(newtonWorld@*,pivotPoint#*,pinDir#*,childBody@*,parentBody@*)&=mem:p("sedm_simplenewt_NewtonConstraintCreateCorkscrew")
NewtonCorkscrewSetUserCallback%(corkscrew@*,NewtonCorkscrewCallBack%(corkscrew@*,desc@*))&=mem:p("sedm_simplenewt_NewtonCorkscrewSetUserCallback")
NewtonCorkscrewGetJointPosit#(corkscrew@*)&=mem:p("sedm_simplenewt_NewtonCorkscrewGetJointPosit")
NewtonCorkscrewGetJointAngle#(corkscrew@*)&=mem:p("sedm_simplenewt_NewtonCorkscrewGetJointAngle")
NewtonCorkscrewGetJointVeloc#(corkscrew@*)&=mem:p("sedm_simplenewt_NewtonCorkscrewGetJointVeloc")
NewtonCorkscrewGetJointOmega#(corkscrew@*)&=mem:p("sedm_simplenewt_NewtonCorkscrewGetJointOmega")
NewtonCorkscrewGetJointForce%(corkscrew@*,force#*)&=mem:p("sedm_simplenewt_NewtonCorkscrewGetJointForce")
NewtonCorkscrewCalculateStopAlpha#(corkscrew@*,desc@*,angle#)&=mem:p("sedm_simplenewt_NewtonCorkscrewCalculateStopAlpha")
NewtonCorkscrewCalculateStopAccel#(corkscrew@*,desc@*,position#)&=mem:p("sedm_simplenewt_NewtonCorkscrewCalculateStopAccel")
NewtonConstraintCreateUniversal@*(newtonWorld@*,pivotPoint#*,pinDir0#*,pinDir1#*,childBody@*,parentBody@*)&=mem:p("sedm_simplenewt_NewtonConstraintCreateUniversal")
NewtonUniversalSetUserCallback%(universal@*,NewtonUniversalCallBack%(universal@*,desc@*))&=mem:p("sedm_simplenewt_NewtonUniversalSetUserCallback")
NewtonUniversalGetJointAngle0#(universal@*)&=mem:p("sedm_simplenewt_NewtonUniversalGetJointAngle0")
NewtonUniversalGetJointAngle1#(universal@*)&=mem:p("sedm_simplenewt_NewtonUniversalGetJointAngle1")
NewtonUniversalGetJointOmega0#(universal@*)&=mem:p("sedm_simplenewt_NewtonUniversalGetJointOmega0")
NewtonUniversalGetJointOmega1#(universal@*)&=mem:p("sedm_simplenewt_NewtonUniversalGetJointOmega1")
NewtonUniversalGetJointForce%(universal@*,force#*)&=mem:p("sedm_simplenewt_NewtonUniversalGetJointForce")
NewtonUniversalCalculateStopAlpha0#(universal@*,desc@*,angle#)&=mem:p("sedm_simplenewt_NewtonUniversalCalculateStopAlpha0")
NewtonUniversalCalculateStopAlpha1#(universal@*,desc@*,angle#)&=mem:p("sedm_simplenewt_NewtonUniversalCalculateStopAlpha1")
NewtonConstraintCreateUpVector@*(newtonWorld@*,pinDir#*,body@*)&=mem:p("sedm_simplenewt_NewtonConstraintCreateUpVector")
NewtonUpVectorGetPin%(upVector@*,pin#*)&=mem:p("sedm_simplenewt_NewtonUpVectorGetPin")
NewtonUpVectorSetPin%(upVector@*,pin@*)&=mem:p("sedm_simplenewt_NewtonUpVectorSetPin")
NewtonConstraintCreateUserJoint@*(newtonWorld@*,maxDOF%,NewtonUserBilateralCallBack%(userJoint@*,timestep#,threadIndex%),NewtonUserBilateralGetInfoCallBack%(userJoint@*,info@*),childBody@*,parentBody@*)&=mem:p("sedm_simplenewt_NewtonConstraintCreateUserJoint")
NewtonUserJointSetFeedbackCollectorCallback%(joint@*,NewtonUserBilateralCallBack%(userJoint@*,timestep#,threadIndex%))&=mem:p("sedm_simplenewt_NewtonUserJointSetFeedbackCollectorCallback")
NewtonUserJointAddLinearRow%(joint@*,pivot0@*,pivot1@*,dir@*)&=mem:p("sedm_simplenewt_NewtonUserJointAddLinearRow")
NewtonUserJointAddAngularRow%(joint@*,relativeAngle#,dir@*)&=mem:p("sedm_simplenewt_NewtonUserJointAddAngularRow")
NewtonUserJointAddGeneralRow%(joint@*,jacobian0@*,jacobian1@*)&=mem:p("sedm_simplenewt_NewtonUserJointAddGeneralRow")
NewtonUserJointSetRowMinimumFriction%(joint@*,friction#)&=mem:p("sedm_simplenewt_NewtonUserJointSetRowMinimumFriction")
NewtonUserJointSetRowMaximumFriction%(joint@*,friction#)&=mem:p("sedm_simplenewt_NewtonUserJointSetRowMaximumFriction")
NewtonUserJointSetRowAcceleration%(joint@*,acceleration#)&=mem:p("sedm_simplenewt_NewtonUserJointSetRowAcceleration")
NewtonUserJointSetRowSpringDamperAcceleration%(joint@*,springK#,springD#)&=mem:p("sedm_simplenewt_NewtonUserJointSetRowSpringDamperAcceleration")
NewtonUserJointSetRowStiffness%(joint@*,stiffness#)&=mem:p("sedm_simplenewt_NewtonUserJointSetRowStiffness")
NewtonUserJointGetRowForce#(joint@*,row%)&=mem:p("sedm_simplenewt_NewtonUserJointGetRowForce")
NewtonMeshCreate@*()&=mem:p("sedm_simplenewt_NewtonMeshCreate")
NewtonMeshCreateFromCollision@*(collision@*)&=mem:p("sedm_simplenewt_NewtonMeshCreateFromCollision")
NewtonMeshDestroy%(NewtonMeshmesh@*)&=mem:p("sedm_simplenewt_NewtonMeshDestroy")
NewtonMeshCalculateVertexNormals%(mesh@*,angleInRadians#)&=mem:p("sedm_simplenewt_NewtonMeshCalculateVertexNormals")
NewtonMeshApplySphericalMapping%(mesh@*,material%)&=mem:p("sedm_simplenewt_NewtonMeshApplySphericalMapping")
NewtonMeshApplyBoxMapping%(mesh@*,front%,side%,top%)&=mem:p("sedm_simplenewt_NewtonMeshApplyBoxMapping")
NewtonMeshApplyCylindricalMapping%(mesh@*,cylinderMaterial%,capMaterial%)&=mem:p("sedm_simplenewt_NewtonMeshApplyCylindricalMapping")
NewtonMeshPlaneClip%(mesh@*,plane#*,textureProjectionMatrix#*,meshOut@*,maxMeshCount%,capMaterial%)&=mem:p("sedm_simplenewt_NewtonMeshPlaneClip")
NewtonMeshBeginFace%(mesh@*)&=mem:p("sedm_simplenewt_NewtonMeshBeginFace")
NewtonMeshAddFace%(mesh@*,vertexCount%,vertex#*,strideInBytes%,materialIndex%)&=mem:p("sedm_simplenewt_NewtonMeshAddFace")
NewtonMeshEndFace%(mesh@*)&=mem:p("sedm_simplenewt_NewtonMeshEndFace")
NewtonMeshGetVertexCount%(mesh@*)&=mem:p("sedm_simplenewt_NewtonMeshGetVertexCount")
NewtonMeshGetVertexStreams%(mesh@*,vertexStrideInByte%,vertex#*,normalStrideInByte%,normal#*,uvStrideInByte%,uv#*)&=mem:p("sedm_simplenewt_NewtonMeshGetVertexStreams")
NewtonMeshGetIndirectVertexStreams%(mesh@*,vertexStrideInByte%,vertex#*,vertexIndices@*,vertexCount@*,normalStrideInByte%,normal#*,normalIndices@*,normalCount@*,uvStrideInByte%,uv#*,uvIndices@*,uvCount@*)&=mem:p("sedm_simplenewt_NewtonMeshGetIndirectVertexStreams")
NewtonMeshFirstMaterial%(mesh@*)&=mem:p("sedm_simplenewt_NewtonMeshFirstMaterial")
NewtonMeshNextMaterial%(mesh@*,materialHandle%)&=mem:p("sedm_simplenewt_NewtonMeshNextMaterial")
NewtonMeshMaterialGetMaterial%(mesh@*,materialHandle%)&=mem:p("sedm_simplenewt_NewtonMeshMaterialGetMaterial")
NewtonMeshMaterialGetIndexCount%(mesh@*,materialHandle%)&=mem:p("sedm_simplenewt_NewtonMeshMaterialGetIndexCount")
NewtonMeshMaterialGetIndexStream%(mesh@*,materialHandle%,index@*)&=mem:p("sedm_simplenewt_NewtonMeshMaterialGetIndexStream")
NewtonMeshMaterialGetIndexStreamShort%(mesh@*,materialHandle%,index@*)&=mem:p("sedm_simplenewt_NewtonMeshMaterialGetIndexStreamShort")
TWorld^brl.blitz.Object{
Worlds:brl.linkedlist.TList&=mem:p("_sedm_simplenewt_TWorld_Worlds")
Debug@&=mem:b("_sedm_simplenewt_TWorld_Debug")
DebugCallbackSet@&=mem:b("_sedm_simplenewt_TWorld_DebugCallbackSet")
.dt#&
.irrMultiplier#&
.gravity#&[]&
.World@*&
.BodyList:brl.linkedlist.TList&
.MaterialMap:brl.map.TMap&
.parent:sedm.simpleirr.TIrrlicht&
.Standard_Transform_Callback%(body@*,mat#*,index%)&
.Standard_ForceAndTorque_Callback%(body@*,Mat#,index%)&
.Standard_Activation_Callback%(body@*)&
.Contact_Begin_CallBack%(material@*,body0@*,body1@*)&
.Contact_Process_CallBack%(material@*,body0@*,body1@*,timestep#)&
.Contact_End_Callback%(material@*,body0@*,body1@*)&
.AABB:TVector&[]&
.accumulator#&
.lastupdate%&
.updates%&
.PlayState%&
-New%()="_sedm_simplenewt_TWorld_New"
-Delete%()="_sedm_simplenewt_TWorld_Delete"
+DebugDrawGlobal:Object(irr:sedm.simpleirr.TIrrlicht)="_sedm_simplenewt_TWorld_DebugDrawGlobal"
+UpdateWorlds%()="_sedm_simplenewt_TWorld_UpdateWorlds"
+Create:TWorld(irr:sedm.simpleirr.TIrrlicht,x1#=-1000#,y1#=-100000#,z1#=-1000#,x2#=1000#,y2#=100000#,z2#=1000#)="_sedm_simplenewt_TWorld_Create"
-SetupCallbacks%()="_sedm_simplenewt_TWorld_SetupCallbacks"
-ResizeWorld%(x1#,y1#,z1#,x2#,y2#,z2#)="_sedm_simplenewt_TWorld_ResizeWorld"
-SetPhysicModel%(SolverModel%,FrictionModel%)="_sedm_simplenewt_TWorld_SetPhysicModel"
-Update%(UpTime#=-1#)="_sedm_simplenewt_TWorld_Update"
-AccuUpdate%()="_sedm_simplenewt_TWorld_AccuUpdate"
-GetUpdates%()="_sedm_simplenewt_TWorld_GetUpdates"
-SetThreadCount%(Count%)="_sedm_simplenewt_TWorld_SetThreadCount"
-AddPhysicBody%(Body:TBody)="_sedm_simplenewt_TWorld_AddPhysicBody"
-DebugDraw%()="_sedm_simplenewt_TWorld_DebugDraw"
-DestroyBody%(Body:TBody)="_sedm_simplenewt_TWorld_DestroyBody"
-SetSpeed%(multiply#=1#)="_sedm_simplenewt_TWorld_SetSpeed"
-Play%()="_sedm_simplenewt_TWorld_Play"
-Stop%()="_sedm_simplenewt_TWorld_Stop"
-SetIrrlichtMultiplier%(mult#=32#)="_sedm_simplenewt_TWorld_SetIrrlichtMultiplier"
+DebugMode%(state@=0)="_sedm_simplenewt_TWorld_DebugMode"
-SetGravity%(x#=0#,y#=-9.81#,z#=0#)="_sedm_simplenewt_TWorld_SetGravity"
}="sedm_simplenewt_TWorld"
TBody^sedm.simpleirr.TEntity{
.body@*&
.node@*&
.World:TWorld&
.matrix#&[]&
.Parent:sedm.simpleirr.TEntity&
.Volume#&
.AABB1#&[]&
.AABB2#&[]&
.UpdateForce#&[]&
.Mass#&
.Matrix_Src:irrlicht.core.Matrix4&
-New%()="_sedm_simplenewt_TBody_New"
-Delete%()="_sedm_simplenewt_TBody_Delete"
-Setup%()="_sedm_simplenewt_TBody_Setup"
-ResetMatrix%()="_sedm_simplenewt_TBody_ResetMatrix"
-Update%(mat#*)="_sedm_simplenewt_TBody_Update"
-SetParentMatrix%(m#&[])="_sedm_simplenewt_TBody_SetParentMatrix"
-GetParentMatrix#&[]()="_sedm_simplenewt_TBody_GetParentMatrix"
-SetMass%(Mass#=0#)="_sedm_simplenewt_TBody_SetMass"
-ApplyImpulse%(impactX#,ImpactY#,ImpactZ#,ForceX#,ForceY#,ForceZ#)="_sedm_simplenewt_TBody_ApplyImpulse"
-Save%(url$)="_sedm_simplenewt_TBody_Save"
-SetParent%(entity:sedm.simpleirr.TEntity)="_sedm_simplenewt_TBody_SetParent"
-UpdateParent%()="_sedm_simplenewt_TBody_UpdateParent"
-Position%(x#=0#,y#=0#,z#=0#)="_sedm_simplenewt_TBody_Position"
}="sedm_simplenewt_TBody"
TBodyBox^TBody{
-New%()="_sedm_simplenewt_TBodyBox_New"
-Delete%()="_sedm_simplenewt_TBodyBox_Delete"
+Create:TBodyBox(World:TWorld,SX#=1#,SY#=1#,SZ#=1#)="_sedm_simplenewt_TBodyBox_Create"
}="sedm_simplenewt_TBodyBox"
TBodyComplexHull^TBody{
-New%()="_sedm_simplenewt_TBodyComplexHull_New"
-Delete%()="_sedm_simplenewt_TBodyComplexHull_Delete"
+Create:TBodyComplexHull(World:TWorld,src:sedm.simpleirr.TEntity,Optimized@)="_sedm_simplenewt_TBodyComplexHull_Create"
+Load:TBodyComplexHull(World:TWorld,Url$,Mesh:sedm.simpleirr.TEntity)="_sedm_simplenewt_TBodyComplexHull_Load"
}="sedm_simplenewt_TBodyComplexHull"
TBodyConvexHull^TBody{
-New%()="_sedm_simplenewt_TBodyConvexHull_New"
-Delete%()="_sedm_simplenewt_TBodyConvexHull_Delete"
+Create:TBodyConvexHull(World:TWorld,src:sedm.simpleirr.TEntity,tolerance#)="_sedm_simplenewt_TBodyConvexHull_Create"
}="sedm_simplenewt_TBodyConvexHull"
TBodySphere^TBody{
-New%()="_sedm_simplenewt_TBodySphere_New"
-Delete%()="_sedm_simplenewt_TBodySphere_Delete"
+Create:TBodySphere(World:TWorld,SX#=1#,SY#=1#,SZ#=1#)="_sedm_simplenewt_TBodySphere_Create"
}="sedm_simplenewt_TBodySphere"
TBodyCylinder^TBody{
-New%()="_sedm_simplenewt_TBodyCylinder_New"
-Delete%()="_sedm_simplenewt_TBodyCylinder_Delete"
+Create:TBodyCylinder(World:TWorld,SX#=1#,SY#=1#)="_sedm_simplenewt_TBodyCylinder_Create"
}="sedm_simplenewt_TBodyCylinder"
TBodyCone^TBody{
-New%()="_sedm_simplenewt_TBodyCone_New"
-Delete%()="_sedm_simplenewt_TBodyCone_Delete"
+Create:TBodyCone(World:TWorld,SX#=1#,SY#=1#)="_sedm_simplenewt_TBodyCone_Create"
}="sedm_simplenewt_TBodyCone"
TBodyCapsule^TBody{
-New%()="_sedm_simplenewt_TBodyCapsule_New"
-Delete%()="_sedm_simplenewt_TBodyCapsule_Delete"
+Create:TBodyCapsule(World:TWorld,SX#=1#,SY#=1#)="_sedm_simplenewt_TBodyCapsule_Create"
}="sedm_simplenewt_TBodyCapsule"
TBodyChamferCylinder^TBody{
-New%()="_sedm_simplenewt_TBodyChamferCylinder_New"
-Delete%()="_sedm_simplenewt_TBodyChamferCylinder_Delete"
+Create:TBodyChamferCylinder(World:TWorld,SX#=1#,SY#=1#)="_sedm_simplenewt_TBodyChamferCylinder_Create"
}="sedm_simplenewt_TBodyChamferCylinder"
RenderBodyCollision%(body@*)="sedm_simplenewt_RenderBodyCollision"
TCallbackData^brl.blitz.Object{
.Body@*&
.mat#*&
.index%&
-New%()="_sedm_simplenewt_TCallbackData_New"
-Delete%()="_sedm_simplenewt_TCallbackData_Delete"
}="sedm_simplenewt_TCallbackData"
ForceCallback%(body@*,mat#,index%)="sedm_simplenewt_ForceCallback"
TransformCallback%(body@*,mat#*,index%)="sedm_simplenewt_TransformCallback"
TVector^brl.blitz.Object{
.x#&
.y#&
.Z#&
-New%()="_sedm_simplenewt_TVector_New"
-Delete%()="_sedm_simplenewt_TVector_Delete"
-Set%(x#,y#,z#)="_sedm_simplenewt_TVector_Set"
}="sedm_simplenewt_TVector"
RenderDebugCollision%(body@*,vertexCount%,faceVertec#*,id%)="sedm_simplenewt_RenderDebugCollision"
GetMemory@*(size%)="sedm_simplenewt_GetMemory"
FreeMemory%(p@*,size%)="sedm_simplenewt_FreeMemory"
Serialize%(handle@*,Buffer@*,Length%)="sedm_simplenewt_Serialize"
DeSerialize%(handle@*,Buffer@*,Length%)="sedm_simplenewt_DeSerialize"
NewtonBodyGetUserData_:Object(newtonbody@*)="sedm_simplenewt_NewtonBodyGetUserData_"
getFPS%()="sedm_simplenewt_getFPS"
GetDelta!()="sedm_simplenewt_GetDelta"
DeltaUpDate%()="sedm_simplenewt_DeltaUpDate"
DeltaTime^brl.blitz.Object{
DeltaTList:brl.linkedlist.TList&=mem:p("_sedm_simplenewt_DeltaTime_DeltaTList")
.OldTime!&
.ElapsedTime!&
.Delta!&
.dFps!&
.dDelta!&
.CurrFps!&
.FPSCounter!&
.CurrTime!&
.CheckTime!&
-New%()="_sedm_simplenewt_DeltaTime_New"
-Delete%()="_sedm_simplenewt_DeltaTime_Delete"
-Destroy%()="_sedm_simplenewt_DeltaTime_Destroy"
+Create:DeltaTime(Fps!)="_sedm_simplenewt_DeltaTime_Create"
+Update%()="_sedm_simplenewt_DeltaTime_Update"
+FPS!(dTime:DeltaTime)="_sedm_simplenewt_DeltaTime_FPS"
+CurrDelta!(dTime:DeltaTime)="_sedm_simplenewt_DeltaTime_CurrDelta"
}="sedm_simplenewt_DeltaTime"
CreateWorld:TWorld(irr:sedm.simpleirr.TIrrlicht,x1#=-1000#,y1#=-100000#,z1#=-1000#,x2#=1000#,y2#=100000#,z2#=1000#)="sedm_simplenewt_CreateWorld"
ResizeWorld%(world:TWorld,x1#,y1#,z1#,x2#,y2#,z2#)="sedm_simplenewt_ResizeWorld"
UpdateWorlds%()="sedm_simplenewt_UpdateWorlds"
WorldSolverModel%(world:TWorld,solverModel%,frictionModel%)="sedm_simplenewt_WorldSolverModel"
WorldSetGravity%(world:TWorld,x#=0#,y#=-9.81#,z#=0#)="sedm_simplenewt_WorldSetGravity"
WorldPlay%(world:TWorld,speed#=1#)="sedm_simplenewt_WorldPlay"
WorldStop%(world:TWorld)="sedm_simplenewt_WorldStop"
WorldDebugMode%(mode@=0)="sedm_simplenewt_WorldDebugMode"
CreateBodyBox:TBody(World:TWorld,sx#=1#,sy#=1#,sz#=1#)="sedm_simplenewt_CreateBodyBox"
CreateBodyCapsule:TBody(World:TWorld,sx#=1#,sy#=1#)="sedm_simplenewt_CreateBodyCapsule"
CreateBodySphere:TBody(World:TWorld,sx#=1#,sy#=1#,sz#=1#)="sedm_simplenewt_CreateBodySphere"
CreateBodyChamferCylinder:TBody(World:TWorld,sx#=1#,sy#=1#,sz#=1#)="sedm_simplenewt_CreateBodyChamferCylinder"
CreateBodyCone:TBody(World:TWorld,sx#=1#,sy#=1#)="sedm_simplenewt_CreateBodyCone"
CreateBodyComplex:TBody(World:TWorld,entity:sedm.simpleirr.TEntity,optimized@=1)="sedm_simplenewt_CreateBodyComplex"
CreateBodyConvex:TBody(World:TWorld,entity:sedm.simpleirr.TEntity,tolerance#=1#)="sedm_simplenewt_CreateBodyConvex"
BodyParent%(body:TBody,child:sedm.simpleirr.TEntity)="sedm_simplenewt_BodyParent"
BodyApplyImpulse%(body:TBody,impactX#,ImpactY#,ImpactZ#,ForceX#,ForceY#,ForceZ#)="sedm_simplenewt_BodyApplyImpulse"
BodySetMass%(body:TBody,mass#)="sedm_simplenewt_BodySetMass"
PhysicTimer:Deltatime&=mem:p("sedm_simplenewt_PhysicTimer")
